/**
 * 浏览器本地localStorage的操作方法
 */

// 约定一个通用的键名
const INFO_KEY = 'hm_shopping_info'
const HISTORY_KEY = 'hm_history_list'

/**
 * 从浏览器本地localStorage中获取个人信息
 */
export const getInfo = () => {
  const defaultObj = { token: '', userId: '' } // 空
  const result = localStorage.getItem(INFO_KEY) // 从浏览器本地存储中获取指定键名 `INFO_KEY` 对应的值
  return result ? JSON.parse(result) : defaultObj // 如果没有返回空
}

/**
 * 设置个人信息到浏览器本地localStorage
 */
export const setInfo = (obj) => {
  localStorage.setItem(INFO_KEY, JSON.stringify(obj))
}

/**
 * 从浏览器本地localStorage移除个人信息
 */
export const removeInfo = () => {
  localStorage.removeItem(INFO_KEY)
}

/**
 * 获取搜索历史，如果本地有就返回历史的数组，没有返回空数组
 */
export const getHistoryList = () => {
  const result = localStorage.getItem(HISTORY_KEY)
  return result ? JSON.parse(result) : []
}

/**
 * 设置搜索历史，将历史数组存到本地
 */
export const setHistoryList = (arr) => {
  localStorage.setItem(HISTORY_KEY, JSON.stringify(arr))
}
